<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue中的组件</title>
    <!-- 引用vue.js库 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <!-- 
        Vue中组件的概念：组件是可以重用的(例如:Servlet就是一个组件)，组件可以有多个，多个组件之间是可以传递数据的。
                        在Vue的项目中，你可以将一个页面看成就是一个组件
        Vue中的组件有三种
            1. 全局组件
                如何使用全局组件
                    1.1 创建一个组件的构造器 Vue.extend()
                    1.2 Vue.component()注册一个组件
                    1.3 要将组件挂载到Vue的对象中
            2. 局部组件
            3. 模板组件(常用)

     -->
    <div id="app">
        <aaa></aaa>
    </div>
    <script>
        // 全局组件
       var Aaa = Vue.extend({
           //数据部分
           data() {
               return {
                   msg:"我是全局组件"
               }
           },
           methods: {
               //组件中所要触发的事件
               change() {
                   this.msg = "changed"
               }
           },
           template:'<h3 @click="change">{{msg}}</h3>'
       })

       //注册组件:两个参数  1.表示自定义组件的名称aaa  2. 就是我们上面定义的全局组件Aaa
       Vue.component("aaa",Aaa);

       //要将组件挂载到Vue的对象中
       var demo = new Vue({
        el: '#app',
        data: {
                
        }
       })

    </script>

    
</body>
</html>